A wide variety of memory devices can be used to maintain and store data and instructions for various computers and similar systems. In particular, flash memory is a type of electronic memory media that can be rewritten and that can retain content without consumption of power. It is used in many portable electronic products, such as cell phones, portable computers, voice recorders, thumbnail drives and the like, as well as in many larger electronic systems, such as cars, planes, industrial control systems, etc. The fact that flash memory can be rewritten as well as its retention of data without a power source, small size and light weight have all combined to make flash memory devices useful and popular means for transporting and maintaining data.
A flash memory device can typically include a memory array that can be comprised of a plurality of memory cells that can be respectively associated with memory addresses that can be selected to determine which memory cell(s) is to be accessed in order to perform a desired operation thereon. To facilitate writing (e.g., programming) or erasing data in a memory cell, each memory cell can include a source, a gate, and a drain, for example, and certain voltages can be applied to the terminals to store a charge in or remove a charge from the memory cell. During an operation (e.g., program, erase, soft program), the drain can be set to a certain voltage level based on the type of operation being performed. Further, each memory cell can be associated with a respective word line and a respective bit line, and when a memory address is specified in an operation, the memory address can be decoded to determine which word line and bit line are to be selected in order to access the desired memory cell in the memory array. When a word line and bit line are selected for a memory cell, certain respective voltages can be supplied to the source, gate, and drain of the memory cell to facilitate performing the desired operation on the memory cell.
It can be desirable to characterize a flash memory device, for example, by setting and measuring the voltage level at the drain, so that respective optimized drain voltage levels can be determined for programming, erase, and soft programming operations. Conventionally, characterizing a flash memory device can be performed by using trim bits when the flash device is operating in user mode. Different combinations of trim bits can be employed to vary control capacitance levels associated with a voltage level that can be associated with the drain in the flash memory device. However, using trim bits to vary the drain voltage level in order to characterize a flash memory device can be inefficient as, for each trim bit combination associated with the type of operation, a test program is written to program a one-time-programming sector in the memory array in order to set the trim bits to the desired combination, then a hardware reset is performed to load the trim bits into a static random access memory (SRAM) in the memory device, user programming is performed and the drain voltage level is measured, an embedded erase is performed and the drain voltage level is measured during erase, and an embedded erase is performed and the drain voltage level is measured during soft programming. With all of these acts being performed for each trim bit combination, the characterization of the flash memory device can demand a significant amount of time to complete.
It is desirable to reduce the number of test programs as well as the number of acts to be performed in order to control and measure the drain level voltage level and characterize a flash memory device, particularly when there is a large combination of drain voltage levels for each type of operation (e.g., programming, erase, soft programming). Further, it is desirable to have the measurement flow of the drain voltage performed in an efficient manner so that the measurement flow is subject to minimal disruption due to having to change bits (e.g. trim bits, external address bits) between drain voltage measurements.